home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / amos / tgroove.lha / tgrooveSource.amos / tgrooveSource.amosSourceCode < prev   
AMOS Source Code  |  1980-02-14  |  4KB  |  122 lines

  1. ' This Rocks! the ultimate "TurboGroove Killer-BeatBox" !
  2. '  
  3. ' done by d.lenz (c) 1998 by Flux Entertainment
  4. '
  5. ' click on the rotator to enable flashing
  6. ' the rest is self-Xplaining (esc ends)
  7. '
  8. ' http://members.xoom.com/dl80/index.html
  9. ' mailto:dl80@gmx.de 
  10. '
  11. Set Stack 20000
  12. Dim TRACK(8)
  13. Global Q,W,M,N,F,A$,ST,_TMP,TRACK()
  14. Led Off 
  15. Screen Open 0,320,256,4,Lowres : Flash Off : Curs Off 
  16. Load "hd1:ownprogs/acidizer/acid.abk"
  17. Load "hd1:ownprogs/acidizer/mono2.abk"
  18. Amal 1,"A0,(1,4)(2,4)(3,4)(4,4)(3,4)(2,4)"
  19. Channel 1 To Bob 1
  20. Bob 1,400,80,1
  21. Amal On 
  22. Load Iff "hd1:ownprogs/acidizer/mono.iff"
  23. N=1 : F=18000 : C=3 : _TMP=100 : Ink 3
  24. _ALL_THE_DETECT_AND_INIT_SHIT
  25. Repeat 
  26.    A$=Inkey$
  27.    Q=X Mouse : W=Y Mouse : M=Mouse Click
  28.    If M<>0 Then Gosub _CHK_CLICK
  29.    If A$<>"" Then Gosub _CH_SOUND
  30.    Locate 1,1 : Print Q,W
  31. Until Key State(69)
  32. _MACH_MA_ENDE_DU_SACK:
  33. Fade 1
  34. Wait 15
  35. Edit 
  36. _CHK_CLICK:
  37. If Q>154 and W>82 and Q<181 and W<101 Then Gosub _PLAYMIX
  38. If Q>154 and W>132 and Q<181 and W<152 Then Sam Play C,N,F : TRACK(1)=N
  39. If Q>186 and W>132 and Q<213 and W<152 Then Sam Play C,N,F : TRACK(2)=N
  40. If Q>218 and W>132 and Q<245 and W<152 Then Sam Play C,N,F : TRACK(3)=N
  41. If Q>250 and W>132 and Q<277 and W<152 Then Sam Play C,N,F : TRACK(4)=N
  42. If Q>282 and W>132 and Q<309 and W<152 Then Sam Play C,N,F : TRACK(5)=N
  43. If Q>314 and W>132 and Q<341 and W<152 Then Sam Play C,N,F : TRACK(6)=N
  44. If Q>346 and W>132 and Q<373 and W<152 Then Sam Play C,N,F : TRACK(7)=N
  45. If Q>378 and W>132 and Q<405 and W<152 Then Sam Play C,N,F : TRACK(8)=N
  46. Return 
  47. _CH_SOUND:
  48. If A$="1" Then N=1 : Locate 6,20 : Print "bassdrum  "
  49. If A$="2" Then N=2 : Locate 6,20 : Print "hihat     "
  50. If A$="3" Then N=3 : Locate 6,20 : Print "snaredrum "
  51. If A$="4" Then N=4 : Locate 6,20 : Print "hiopen    "
  52. Return 
  53. _PLAYMIX:
  54. Locate 6,21 : Print "playing..."
  55. Do 
  56.    For ST=1 To 8
  57.       If TRACK(ST)=0
  58.          Ink 3 : Box 24+NP,88 To 55+NP,111
  59.          Wait 4
  60.          DMY=0
  61.          Repeat 
  62.             MK=Mouse Key
  63.             If MK>0 and X Mouse>186 and Y Mouse>82 and X Mouse<214 and Y Mouse<102
  64.                Goto _STOP
  65.             Else If MK>0 and X Mouse>402 and Y Mouse>84 and X Mouse<425 and Y Mouse<107
  66.                Shift Up 1,3,4,1
  67.             Else If Key State(69)
  68.                Goto _MACH_MA_ENDE_DU_SACK
  69.             End If 
  70.             Inc DMY
  71.          Until DMY>_TMP
  72.          Ink 0 : Box 24+NP,88 To 55+NP,111
  73.       Else 
  74.          Ink 3 : Box 24+NP,88 To 55+NP,111
  75.          Sam Play C,TRACK(ST),F
  76.          Gosub _VU
  77.          DMY=0
  78.          Repeat 
  79.             MK=Mouse Key
  80.             If MK>0 and X Mouse>186 and Y Mouse>82 and X Mouse<214 and Y Mouse<102
  81.                Goto _STOP
  82.             Else If MK>0 and X Mouse>402 and Y Mouse>84 and X Mouse<425 and Y Mouse<107
  83.                Shift Up 1,3,4,1
  84.             Else If Key State(69)
  85.                Goto _MACH_MA_ENDE_DU_SACK
  86.             End If 
  87.             Inc DMY
  88.          Until DMY>_TMP
  89.          Ink 0 : Box 24+NP,88 To 55+NP,111
  90.       End If 
  91.       NP=NP+32
  92.       Locate 1,1 : Print X Mouse,Y Mouse
  93.    Next 
  94.    NP=0
  95. Loop 
  96. _STOP:
  97. Ink 0 : Box 24+NP,88 To 55+NP,111
  98. NP=0
  99. Locate 6,21 : Print "stopped..."
  100. Return 
  101. Rem  
  102. Procedure _ALL_THE_DETECT_AND_INIT_SHIT
  103. Locate 6,20 : Print "bassdrum  "
  104. Locate 6,21 : Print "stopped..."
  105. Locate 2,3 : Print Extension_12_0628 : Locate 0,3 : Print "680" : Locate 5,3 : Print "Cpu"
  106. If Extension_12_0636 >0 Then Locate 8,3 : Print " +FPU"
  107. If Extension_12_0628 =40 Then _TMP=600
  108. If Extension_12_0628 =30 Then _TMP=300
  109. If Extension_12_0628 <30 Then _TMP=100
  110. Box 88,43 To 178,57
  111. End Proc
  112. _VU:
  113. ' max: 176 
  114. ' min: 90
  115. For BLABLA=176 To 91 Step -15
  116.    Ink 3 : Bar 90,45 To BLABLA,55
  117.    Wait Vbl 
  118.    Ink 0 : Bar 90,45 To BLABLA,55
  119. Next BLABLA
  120. Return 
  121. Rem 402 84 425 107 
  122. Rem shift up 1,3,4,1